/**
 * 单例模式
 * 1. 确保一个类只有一个实例
 * 2. 提供一个访问它的全局访问点
 * 3. 控制实例的数目，节省系统资源
 */

export class Singleton {
  private static _instance: any = null

  static getInstance<T>(): T {
    return this._instance || (this._instance = new this())
  }
}
